// 防抖函数
function debounce(fn, delay) {
  let timer = null; // 定义一个定时器变量
  return function (...args) { // 使用剩余参数获取所有参数
    clearTimeout(timer); // 清除上一次的定时器
    timer = setTimeout(() => { // 开启一个新的定时器
      fn.apply(this, args); // 执行函数
    }, delay); // 设置定时器的延迟时间
}
}